/*
 * NcsObject.h
 *
 *  Created on: Apr 28, 2017
 *      Author: zhangjf
 */

#ifndef SRC_NCSOBJECT_H_
#define SRC_NCSOBJECT_H_

#include <Poco/Task.h>
#include <Poco/Notification.h>
#include <Poco/NotificationQueue.h>

using namespace Poco;

#include "SUID.h"

namespace util
{

class NcsObject : public Task
{
public:
	NcsObject();
	virtual ~NcsObject();

	virtual void runTask() = 0;

	virtual void enqueueNotification(Notification::Ptr& notif) = 0;
protected:
	NotificationQueue _nq;
	SUID _suid;
};

} /* namespace util */

#endif /* SRC_NCSOBJECT_H_ */
